package org.liang.delete;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class DeleteMavenUpdate {

	
	public static List<String> delDirs = new ArrayList<String>();
	
	public static void deleteDir(File f) {
		
		if(f.isDirectory()) {
			boolean isUpdate = dirHasUpdateJar(f);
			File[] fs = f.listFiles();
			
			if(isUpdate) {
				//删除文件
				for (File file : fs) {
					if(file!=null) {
						file.delete();
					}
				}
				//删除目录
				if(!f.delete()) {
					delDirs.add("删除失败：" + f.getAbsolutePath());
				}else {
					delDirs.add("删除目录：" + f.getAbsolutePath());
				}
			}else {
				for (File file : fs) {
					deleteDir(file);
				}
			}
			
			
		}
	}
	
	/**
	 * 当前目录是否包含.jar.lastUpdated文件，包含返回true
	 * @param f
	 * @return
	 */
	public static boolean dirHasUpdateJar(File f) {
		if(f.isDirectory()) {
			File[] fs = f.listFiles(tf -> tf.getName().endsWith(".jar.lastUpdated"));
			if(fs != null && fs.length > 0) {
				return true;
			}
		}
		
		return false;
	}

}
